package pers.xhh.frontapi.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import pers.xhh.frontapi.common.Mi;
import pers.xhh.frontapi.entity.to.cart.CartTo;

/**
 * @author wei-xhh
 * @date 2020-12-08
 */
public interface CartService {
    /**
     * 添加商品到购物车
     * @param goodsId
     * @param num
     * @return
     */
    Mi addToCart(CartTo cartTo) throws JsonProcessingException;

    /**
     * 获取一个商品
     * @param goodsId
     * @return
     */
    Mi getCartItem(Integer goodsId) throws JsonProcessingException;

    /**
     * 获取该用户下的购物车所有商品
     * @return
     */
    Mi getCartList();

    /**
     * 清空购物车
     * @return
     */
    Mi clearCart();

    /**
     * 购物车列表选择某个商品
     * @param goodsId
     * @param check
     * @return
     */
    Mi selectItem(Integer goodsId, Integer check) throws JsonProcessingException;

    /**
     * 添加数量
     * @param goodsId
     * @param num
     * @return
     */
    Mi addCartCount(Integer goodsId, Integer num) throws JsonProcessingException;

    /**
     * 删除某个商品
     * @param goodsId
     * @return
     */
    Mi deleteCartItem(Integer goodsId);

    /**
     * 选中全部
     * @return
     */
    Mi selectAll();

    /**
     * 取消选中全部
     * @return
     */
    Mi doneAll();
}
